CREATE PROC [dbo].[STIGetSalesAndReturnInvoices]
    @FromDate VARCHAR(10),
    @ToDate VARCHAR(10),
    @Type TINYINT

AS
SET @FromDate = CONVERT(VARCHAR(10), dbo.ShamsiToMiladi(@FromDate), 111);
SET @ToDate = CONVERT(VARCHAR(10), dbo.ShamsiToMiladi(@ToDate), 111);
IF @Type = 0
BEGIN
    SELECT Id_Havaleh InvoiceId,
           CASE
               WHEN Kind_Flag IN ( '5' ) THEN
                   Nu_Forosh
               WHEN Kind_Flag IN ( '6' ) THEN
                   Nu_Bargasht_Forosh
           END AS InvoiceNo,
           Kind_Flag AS InvoiceType,
           Tot_Price_forosh InvoiceAmount,
           CONVERT(VARCHAR(10), Tarikh, 111) AS CreatedOn,
           CONVERT(VARCHAR(10), Tarikh_faktor, 111) AS InvoiceDate,
           Note Description
    FROM headH WITH (NOLOCK)
    WHERE (Kind_Flag IN ( '5', '6' ))
          AND ((Tarikh_faktor)
          BETWEEN @FromDate AND @ToDate
              )
          AND (Id_Havaleh NOT IN
               (
                   SELECT InvoiceId FROM dbo.STITransaction WITH (NOLOCK)
               )
              )
    ORDER BY Tarikh_faktor,
             Id_Havaleh;
END;

IF @Type = 1
BEGIN
    SELECT Id_Havaleh InvoiceId,
           CASE
               WHEN Kind_Flag IN ( '9' ) THEN
                   Nu_Forosh
               WHEN Kind_Flag IN ( '0' ) THEN
                   Nu_Bargasht_Forosh
           END AS InvoiceNo,
           Kind_Flag AS InvoiceType,
           Tot_Price_forosh InvoiceAmount,
           CONVERT(VARCHAR(10), Tarikh, 111) AS CreatedOn,
           CONVERT(VARCHAR(10), Tarikh_faktor, 111) AS InvoiceDate,
           Note Description
    FROM headH WITH (NOLOCK)
    WHERE (Kind_Flag IN ( '9', '0' ))
          AND ((Tarikh_faktor)
          BETWEEN @FromDate AND @ToDate
              )
          AND (Id_Havaleh NOT IN
               (
                   SELECT InvoiceId FROM dbo.STITransaction WITH (NOLOCK)
               )
              )
    ORDER BY Tarikh_faktor,
             Id_Havaleh;
END;